// models/ItemImage.js
module.exports = (sequelize, DataTypes) => {
  return sequelize.define('ItemImage', {
    id: {
      type: DataTypes.INTEGER,
      autoIncrement: true,
      primaryKey: true,
      comment: '主键 ID'
    },
    itemId: {
      type: DataTypes.INTEGER,
      allowNull: false,
      comment: '所属商品 ID'
    },
    url: {
      type: DataTypes.STRING,
      allowNull: false,
      comment: '图片地址'
    },
    isCover: {
      type: DataTypes.BOOLEAN,
      defaultValue: false,
      comment: '是否封面图'
    },
    order: {
      type: DataTypes.INTEGER,
      defaultValue: 0,
      comment: '排序值，越小越靠前'
    }
  }, {
    tableName: 'item_images',
    timestamps: true, // 自动维护 createdAt、updatedAt 字段
    paranoid: true,   // 启用 deletedAt 软删除
    deletedAt: 'deletedAt', // 软删除字段重命名
    underscored: true, // 开启下划线命名风格
    charset: 'utf8mb4', // 指定字符集
    collate: 'utf8mb4_general_ci', // 使用 utf8mb4 字符集的排序规则
    comment: '商品图片表'
  });
};
